package com.hgkj.common.core.utils;

import cn.dev33.satoken.secure.SaSecureUtil;

/**
 * 加密解密工具类
 */
public class EncryptUtils {

    /**
     * 加密 加盐
     * @param rawPassword 密码
     * @return 加密后的密码
     */
    public static String encryptPassword(String rawPassword, String salt) {
        String encryptRawPassword = SaSecureUtil.md5(rawPassword);
        String encryptSalt = SaSecureUtil.md5(salt);
        return SaSecureUtil.sha1(encryptRawPassword + encryptSalt);
    }

    /**
     * 对比密码是否一致
     * @param rawPassword 新生密码
     * @param encodedPassword 加密的密码
     * @param salt random salt
     * @return 结果
     */
    public static boolean matchesPassword(String rawPassword, String encodedPassword, String salt) {
        String encryptPassword = encryptPassword(rawPassword, salt);
        return encryptPassword.equals(encodedPassword);
    }
}
